iColorIndex.hint="Specifies the color to use. -1 means 'maxiter'. Parameter is used only if Inside-Coloring is set to <nnn>";
iColorIndex.default=1.0;
iColorIndex.min=-1.0;
iColorIndex.max=255.0;
bTruncate.caption="Truncate";
bTruncate.hint="If set, the resulting color index gets truncated to the nearest color index. Otherwise (i.e. normal behaviour of ChaosPro) the two neighboured colors would be interpolated.";
bTruncate.default=true;
iEpsCrossDistance.caption="Distance";
iEpsCrossDistance.hint="Valid only for epsilon cross coloring: Specifies the distance from the axis";
iEpsCrossDistance.default=0.01;
iEpsCrossDistance.min=0.0000000000000000001;
iEpsCrossDistance.max=100000;
}
}
Outside {
parameter int iOutside;
parameter real iColorIndex;
parameter bool bTruncate;
void final(void)
{
index=1+numiter;
if (iOutside==0)
{
index=iColorIndex;
}
else if (iOutside==1)
{
index=numiter;
}
else if (iOutside==2)
{
index=index+7+real(z);
}
else if (iOutside==3)
{
index=index+7+imag(z);
}
else if (iOutside==4)
{
index=index*real(z)*imag(z);
}
else if (iOutside==5)
{
index=index+real(z)+imag(z);
}
else if (iOutside==6)
{
index=abs(atan2(z)*180/pi);
}
if (bTruncate)
{
index=trunc(index);
}
index=(index%256)/256;
}
void description(void)
{
this.title="Outside";
this.helpfile="http://www.chaospro.de/";
iOutside.caption="Outside Coloring";
iOutside.hint="This option specifies the algorithm to use for outside coloring";
iColorIndex.hint="Specifies the color to use. Parameter is used only if Outside-Coloring is set to <nnn>";
iColorIndex.default=1;
iColorIndex.min=0;
iColorIndex.max=255;
bTruncate.caption="Truncate";
bTruncate.hint="If set, the resulting color index gets truncated to the nearest color index. Otherwise (i.e. normal behaviour of ChaosPro) the two neighboured colors would be interpolated.";